<template>
	<div class="sidebar">
		<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
		 text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
			<template v-for="item in items">
				<template v-if="item.child">
					<el-submenu :index="item.url" :key="item.url">
						<template slot="title">
							<i :class="item.icon"></i><span slot="title">{{ item.name }}</span>
						</template>
						<el-menu-item v-for="(subItem,i) in item.child" :key="i" :index="subItem.url">
							{{ subItem.name }}
						</el-menu-item>
					</el-submenu>
				</template>
				<template v-else>
					<el-menu-item :index="item.url" :key="item.url">
						<i :class="item.icon"></i><span slot="title">{{ item.name }}</span>
					</el-menu-item>
				</template>
			</template>
		</el-menu>
	</div>
</template>

<script>
	import bus from '../common/bus';
	export default {
		data() {
			return {
				collapse: false,
				items: [{
						icon: 'el-icon-setting',
						index: '/dashboard',
						title: '系统首页'
					},
					// {
					//     icon: 'el-icon-tickets',
					//     index: '/icon',
					//     title: '图标'
					// },
					// {
					//     icon: 'el-icon-message',
					//     index: '/tabs',
					//     title: 'tab选项卡'
					// },
					// {
					//     icon: 'el-icon-date',
					//     index: '3',
					//     title: '表单相关',
					//     subs: [
					//         {
					//             index: '/form',
					//             title: '基本表单'
					//         },
					//         {
					//             index: '/editor',
					//             title: '富文本编辑器'
					//         },
					//         {
					//             index: '/markdown',
					//             title: 'markdown编辑器'
					//         },
					//         {
					//             index: '/upload',
					//             title: '文件上传'
					//         }
					//     ]
					// },
					// {
					//     icon: 'el-icon-star-on',
					//     index: '/charts',
					//     title: 'schart图表'
					// },
					// {
					//     icon: 'el-icon-rank',
					//     index: '/drag',
					//     title: '拖拽列表'
					// },
					// {
					//     icon: 'el-icon-warning',
					//     index: '/permission',
					//     title: '权限测试'
					// },
					// {
					//     icon: 'el-icon-error',
					//     index: '/404',
					//     title: '404页面'
					// },
					{
						icon: 'el-icon-tickets',
						index: '/mechanism/index',
						title: '组织管理'
					},

					{
						icon: 'iconfont icon-bumen',
						index: '/dept',
						title: '部门管理'
					},
					{
						icon: 'iconfont icon-bumen',
						index: '/user',
						title: '用户管理'
					},
					{
						icon: 'el-icon-date',
						index: '3',
						title: '规则设定',
						child: [{
								index: '/rule/index',
								title: '班次管理'
							},
							// {
							//     index: '/rule/rule',
							//     title: '规则设定'
							// },
							// {
							//     index: '/markdown',
							//     title: 'markdown编辑器'
							// },
							// {
							//     index: '/upload',
							//     title: '文件上传'
							// }
						]
					},

					{
						icon: 'el-icon-date',
						index: '4',
						title: '权限管理',
						child: [{
								index: '/role/index',
								title: '角色管理'
							},
							// {
							//     index: '/rule/rule',
							//     title: '规则设定'
							// },
							// {
							//     index: '/markdown',
							//     title: 'markdown编辑器'
							// },
							{
								index: '/role/menu',
								title: '菜单管理'
							}
						]
					},
				]
			}
		},
		computed: {
			onRoutes() {
				return this.$route.path.replace('/', '');
			}
		},
		created() {
			// 通过 Event Bus 进行组件间通信，来折叠侧边栏
			bus.$on('collapse', msg => {
				this.collapse = msg;
			})
			this.getData();
		},
		methods: {
			// 获取 easy-mock 的模拟数据
			getData() {
				var that = this;
				this.HttpUtil.encryptGet(
					this,
					this.Global.URLPATH.MENU_QUERY, {
						pageNum: that.cur_page
					},
					function(data) {
						data = data.data;
						that.items = data;
					},
					function(data) { //访问失败
						//that.$message.success(data.msg);
					});
			},
		}
	}
</script>

<style scoped>
	.sidebar {
		display: block;
		position: absolute;
		left: 0;
		top: 70px;
		bottom: 0;
	}

	.sidebar-el-menu:not(.el-menu--collapse) {
		width: 250px;
	}

	.sidebar>ul {
		height: 100%;
	}
</style>
